home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Utilities / Programming / EnterAct 3.7.3 / If this is an upgrade (3.7)… < prev    next >
Text File  |  1996-06-14  |  22KB  |  128 lines

  1. June 1996
  2.  
  3. Welcome to EnterAct 3.7 Significant new things are listed below, and the EnterAct 3 Manual has been revised as a result (included with this package). "EnterAct in brief" also describes the more important new features.
  4.  
  5. Currently about half of EnterAct's improvements are the direct result of user requests, quite often just one user who bothers to write. Design your suggestion up a bit, summarize your thoughts in a paragraph or two, send it off to me--I'll probably do it. The only significant exception at present is colored keywords (I'm still thinking about it).
  6.  
  7. •••• PLEASE DO THIS!••••
  8. EnterAct's parser has been revised again. To take advantage of the resulting improvement in lookup powers, please rebuild your entire EnterAct project dictionary. To do this: hold down all three of <shift><option><command>, and select "Update Dictionary" from the "EnterAct" menu.
  9.  
  10. You should rebuild your dictionaries regardless of which version your were using. My apologies for this, I do try to avoid changing file formats but sometimes the old crystal ball is a bit hazy. If you stay with an old dictionary, all methods and data members will be treated as public: if you rebuild, the AutoLook window will show public/protected/private for data members and methods, and the popup of inherited methods in the browser (<command>click on a class name) will omit inherited private methods.
  11.  
  12. hAWK HAS CHANGED! The new version (2.1.2) does better memory management during its startup phase (it no longer chokes if you pass it a very long list of MFS files). And it can now be run from a command line, bypassing the dialog. If you are using hAWK, please grab the new version from the "Drag_on Modules" folder.
  13. •••• PLEASE DO THAT!••••
  14.  
  15. ••••Installation••••
  16. When installing the new version, please take a moment first to set aside any hAWK programs in your "hAWK programs" folder that you wish to keep. By the way, it’s a good policy to rename any supplied hAWK programs that you modify, if only so that you can distinguish them when updated versions arrive.
  17. Please reinstall every part of the EnterAct package that you use. You'll find a list of contents in "Installing EnterAct3".
  18.  
  19. (You'll want EnterAct itself, the EnterAct 3 manual and EnterAct in brief, the Drag_on Modules folder (or at least hAWK) and hAWK User's Manual, and the new file "EnterAct Code Templates"--place it beside EnterAct. Minimal App7 has also been upgraded to run hAWK programs via command lines--see "About Minimal App7". The file "EnterAct's Special Keys" tries to bring all mysterious key commands together. PLEASE DON'T WHACK your own hAWK programs by replacing your old Drag_on Modules folder with the new one!)
  20. ••••
  21.  
  22. CodeWarrior users PLEASE NOTE:
  23. • Metrowerks supplies a few third-party source  files with nested comment starts (of the form "/*.../*...*/"); the quick fix is to deselect the the option "Detect nested comments" in EnterAct's Options… dialog. A better fix is to remove the few nested comment starts and leave the checking enabled.
  24.  
  25. TCL users please note: the file "TCL #includes.cpp" contains some unparseable junk (quite deliberate) and EnterAct can't quite handle it yet, so please omit this file from your dictionary by holding down the<Command> key and clicking next to its file name in your project window. A dash '-' will appear next to the name, and it will be skipped.
  26.  
  27. •••••••New for 3.7 (3.6 was not widely released)
  28. • Java support! Lookup, browser, method popups, all the same as for C++. Use the "File Extensions..." dialog to add "java" as an extension for the left project pane and you're in business: add files and update dictionaries etc as for C or C++ files. Note that if you have no project open then the "File Extensions..." dialog affects all new projects.
  29. • "public/protected/private" is shown in the AutoLook window for data members and methods, and the popup of inherited methods in the browser (<command>click on a class name) will omit inherited private methods. (see "'PLEASE DO THIS!" above if you are upgrading). If you're doing Java files, you'll also see "package" in the AutoLook window.
  30. • basic support for unix and DOS files: you can open, change, and save them.
  31. • code templates! Highly addictive. All templates are stored in the text file "EnterAct Code Templates", which is very easy to modify (please take a look at it, full instructions are at the top of it). Add this file to the folder where you keep EnterAct, at the same level. To use a template, you type its name and press <command><return>. And <command><return> will also advance you to the next logical insertion point in your template (or in any code for that matter).  If you save changes to your "EnterAct Code Templates" file using EnterAct, your new templates are instantly available (no need to quit and restart). Templates don't have to contain code, and template names can contain any non-blank characters, not just letters and numbers. 
  32. Tip: add "EnterAct Code Templates" to your "Locations" menu so you can change your templates on the fly.
  33. • hAWK can now be invoked with a "command line" in any EnterAct text window. Here is a typical command line for a hAWK program:
  34.     hAWK -f$EchoFullPathNames -- MFS
  35. To run it from EnterAct, select it and type <command><return> or <enter>. The "MFS" there stands for the multi-file selection in your current project. hAWK templates work nicely as code templates (if your entry name expands into a hAWK template then the expanded entry will be selected rather than having the insertion point advance). For example, there is a code template named "echo" in the "EnterAct Code Templates" file for the above command line: and so to generate a list of full path names for selected project files you just type "echo<command><return> <command><return>".
  36.  
  37. For details please see Appendix 2 of the EnterAct manual. If you're calling hAWK from your application, please see section "S 6" in the hAWK User's Manual.
  38. • "Minimal App7" now looks for a hAWK command line on the clipboard when it starts up: if it finds one, it runs the corresponding hAWK program and then quietly quits. "Minimal App7" doesn't understand the "MFS" option described just above, but you can pass it a list of specific files on the command line. If you pick "Quit" from the menu or pass it an AppleEvent quit while a hAWK program is running, Minimal App7 will beep once and stop the hAWK program and then quit. So what's this all about? It's a way to run hAWK programs way in the background, where they will keep running even if you quit EnterAct. Or if you find PERL a bit tedious, try "Minimal App7" as a CGI app. Once you've looked at Appendix 2 in the EnterAct manual, you can try this out with the script "Clip->Minimal App 7": to use it, put a command line on the clipboard in EnterAct with a Copy, and then pick the script from EnterAct's "Scripts" menu.
  39.  
  40. This is hurting my head trying to explain, so here's an example of how it all fits together:
  41. say you have this nifty hAWK program "$Monitor" that monitors a folder for changes and writes a summary to a file: you could create a code template called "monitor" for this, that expands to "hAWK -f$Monitor" when you type "monitor" and press <command><return>; then you would have a choice of either running the program from within EnterAct by pressing <command><return> a second time, or running the program using Minimal App7 by doing a Copy and then picking the script "Clip->Minimal App 7" from EnterAct's "Scripts" menu.
  42. • In a related vein, Apple Scripts run from within EnterAct now always show their results in the document "$tempScriptResult", to avoid fighting with hAWK over who owns $tempStdOut. Previously a script would write its results to $tempStdOut, using $tempScriptResult only if $tempStdOut was busy.
  43. • C++ <template> constructs now show up in the browser
  44. • <command><tab> to toggle between "SomeFile.cp" and "SomeFile.h" (or .c/.h, etc)
  45. • bug fix, you can triple-click on a curly {} to select just the line it's on.
  46. • bug fix, better handling of "#ifdef/ifndef __cplusplus" constructions
  47. • a new file "EnterAct's Special Keys" summarizes special key commands (and mouse moves) that aren't in the menus.
  48. • As of CW9 at least, "Use Modification Date Caching" in CodeWarrior is compatible with third-party editors. Hats off to MetroWerks for fixing even little problems like this.
  49. ••••
  50.  
  51. •••••••New for 3.5
  52. • (good news) EnterAct now provides more accurate lookup: (bad news) to get the full benefits, you'll have to rebuld your project's dictionary. To do this, hold down all three of <shift> <option> <command> and select "Update Dictionary" from the "EnterAct" menu.
  53. • Specific lookup improvements: AutoLook can now resolve a reference chain such as "someObjectOrMember->aMethod()->anotherMember[i].mysteryMember" with very high accuracy: just click after any name in the reference chain to view results in the AutoLook window. As always, your dictionary must be reasonably up to date. Results are most accurate when you click inside an actual method in a source or header file. "Reverse" lookup (click after a name and hit <shift><enter> to view a lookup window that holds all structures with the name as a member) is now faster. And lookup for destructors has been improved. 
  54. • In the Browser, <Command>click on any name to view a popup list that contains all methods the class inherits, as well as its own methods. Method names are shown in alphabetical order, with owning class names prepended. Be warned, private methods of base classes are also shown (version 3.7 fixes that).
  55. • In all Browser popups showing methods, the virtual ones are marked with a "v". This lets you tell at a glance whether a method wants or allows an override.
  56. • Also in the Browser window, you can center up the class you're after by typing the first part or some distinctive part of its name.
  57. • A new main menu, "Locations", which lets you jump to specific files and locations within them. These files don't need to be in your project, and can be on any disk. It's like a file-independent "Marker" menu! When you add a location, you can select some text beforehand to give it a name; in any case, a dialog appears in which you can edit or delete the name of the location. If you don't supply a name, specifics of the location (file name, line number, owning marker) will be used to concoct a name for you. The Locations menu can track up to 10 locations, and is of course permanently remembered. If you're in a hurry, you can access the positions in this menu with an <Option>click-and-hold in any text window.
  58. • When you first create a project, you will be asked to designate the <system> folder for it--and there is a new menu command "Select <system> Folder..." that allows you to change it for a project at any time. Recommended, place EnterAct within the folder for the development environment that you use most often, since that's the folder your project will use if you cancel the <system> folder selection dialog when creating a project.
  59. • No one ever used the "Revert" button in the "Find" dialog--so this has been replaced by the "Dual Batch Find" button, which is a lot more fun: it carries out batch searches of the general form "Find 'first string' and 'second string' within N lines or characters of each other in all MFS-selected files", and reports a summary to stdout. Like a mini-grep, with none of the hassle.
  60. • Window positions and selections are now saved and restored automatically by default for all text files without your intervention (including files checked out "read only"--note the file modification date is not changed by EnterAct). To defeat this, turn off the "Save document window locations" option in the Options dialog.
  61. • <Option>zoom: didn't you just hate it when <Option>zoom dropped the bottom of your text window all the way to the bottom of the screen—and covered up your AutoLook window? Now <Option>zoom leaves your AutoLook window uncovered.
  62. • To jump to an included header when viewing a line of the form
  63. #include "filename"
  64. or
  65. #include <filename>
  66. you can now click anywhere on the line and then pick "Go to".
  67. • Another new main menu, "Scripts", allows you to run any compiled scripts that are in your "(EnterAct Scripts)" folder. A few come supplied--you should take a look at them with the Script Editor and tune them to your needs before running them. And feel free to drop in your own scripts there, too.  If a script runs successfully, EnterAct shows you the AppleScript "result" variable (as text) in stdout. Please note that EnterAct itself understands only the "basic four" Apple events: this menu is provided so that you can run a script without leaving EnterAct, and view the result string in your favorite editor.
  68. • Some fixes:
  69. -the "Skip '-'" checkbox in the Find dialog is now properly maintained. A point of confusion, please note that if "Skip '-'" is selected then you CANNOT put bullets beside any file names in the project window that are already marked with a '-'. Also please note that the "All" and "None" buttons in the Find dialog now obey the "Skip '-'" checkbox.
  70. -great panes have been taken (ouch) to optimize text redraws, and you should find that EnterAct's colored syntax redraws are among the most flicker-free in the business.
  71. -Print was adding one line of garbage at the end of the last page printed, no more.
  72. -the Activities Log is no longer deleted if you switch out of EnterAct and then persuade some other app to crash (typically the one you're developing).
  73. -key strokes are no longer occasionally lost when you use EnterAct as Symantec's editor.
  74. -if you don't have a definition for a function in your project, <Option>double-clicking on the name will take you to the prototype, as a "better than nothing" alternative. This feature was always there, but dropped out just for version 3.4.
  75. -names entered in the "Macros to skip..." dialog now cover a greater variety of cases, so if you have a file that won't parse because a macro name appears in a weird spot, try entering the name in this dialog.
  76. ••••
  77.  
  78. •••••••New for 3.4
  79. • You can now add several files with the same name to your project. If more that one file has the same name, truncated full path names will be displayed next to the file names, so you can tell which is which.
  80. "Batch" find will also display full path names if needed to distinguish files with the same name. Please note that in this version at least, the "Index" commands still show just the file names, not full path names. This may change in a future version.
  81. If you need to avoid adding a file when a file with the same name is already in your project, there are different approaches you can take: add files from a list of full path names; use the new <Command>click in the project window, described below, to exclude files from being built into your dictionary; or, if the files that shouldn't be added are in their own folder, put the folder's name in parentheses (see just below).
  82. • In a related vein, EnterAct now skips folders whose names are parenthesized when adding all files in subfolders, or when attempting to automatically relocate a file. So to hide a folder such as "Old Source" from EnterAct's view, change its name to "(Old Source)".
  83. • INTERFACE CHANGE! To exclude a source or header file from dictionary updates, hold down the <Command> key and click on its name in the project window. The cursor will change to an 'X' while you do so, and a dash '-' will be placed beside the name of any file excluded. <Command> clicking on a name used to select the file for multi-file operations, but from now on you are restricted to <Option> click, or <Command><Option> click for that. You'll still see the "eyeball" cursor when making multi-file selections, with bullets • beside the names, as before.
  84. • In the Find dialog, the "Skip '-'" checkbox lets you exclude project files that are marked with a dash '-' when carrying out a multi-file operation such as searching or running a hAWK program or removing •'d files.
  85. • Jumping to definitions: if you have a variable or function with more than one definition, there is now a way to jump to the exact one you want: press <Enter> to look the name up; use the popup menu in the lookup window to pick the definition you want (<Option> click in the window's title bar); and then use <Option>double-click on the name, or "Find Definition" without changing the default selection. The popup menu includes truncated full path names for the defining files, so you can tell which definition is which.
  86. • Multiple static definitions: since a static definition is for use in just one file, when you <Option>double-click on a static function or variable's name you will jump to the definition in the same file where you double-clicked, if any definition exists there. Otherwise, you can press the <Enter> key and jump to the right one as described just above.
  87. • When showing recent activities, you now have the option in the dialog of showing full path names for all the files (useful mainly if you have files with duplicated names).
  88. • Rounding out improved file handling, "Go to" now accepts full path names, and the display box in text documents now shows the full path name (you no longer have to click in it).
  89. • Double-click on a delimiter to Balance (note EnterAct always include the delimiters in the resulting selection--I'm not sure why some editors leave them out, perhaps because they don't have Smart Paste?)
  90. • Minor enhancements to AutoLook (local variables and data members), and some small cosmetic fixes for syntax coloring.
  91. • As a result of allowing duplicate file names, it is now painless to run the hAWK program "$CompareFiles" (for the curious: add both files to a project, <Option>click on the names so that bullets • appear beside them, select "hAWK" from the EnterAct menu, pick the $ComparFiles program from the top popup, and hit Run.)
  92. • A new hAWK program, "$ClipFormatFuncIntro", that lets you easily "clean up" function starts (from return type down to and including the starting list of local variables) - based on "Code Complete" by Steve McConnell, but as with all hAWK programs, if you don't like the exact way it works - change it! See the program for how-to.
  93. ••••
  94.  
  95. •••••••New for 3.3
  96. • At last! Fast accurate lookup to the AutoLook window for data members, when you're working in a method. Click after or double-click on the data member's name, as usual, and the declaration for the data member will appear in the AutoLook window, followed by any supporting definitions -- eg "Thing *dataMember;" would be followed by the definition of "Thing". The display box in the AutoLook window will tell you which class definition the declaration was found in, either the class that owns the method you're working in, or any of the classes it inherits from. This "data member" lookup for AutoLook is case-sensitive, and the beginning of the name you're looking up must match the beginning of the data member's name exactly, to speed things up and cut down on spurious matches. Please note that lookup for data members that aren't in the current method's inheritance chain remains slower and less accurate.
  97. • AutoLook lookup for local variables has been improved to near perfection
  98. • When jumping to a definition of a function whose prototype is longer than 255 characters, stopping at a prototype rather than the definition has been virtually eliminated
  99. • More color, with some options for comments (try the "Comment options..." dialog for what some think is a refreshing new look)
  100. • Some browser enhancements: names of member classes and structs are now listed
  101. beneath the "main" class name--you can double-click on these to go to their definitions,
  102. or click-and-hold to view a popup of their methods; to view the parents of a main class
  103. name, <Option> or <Command> click on its name to view a popup of them (this supplements the colored lines drawn to the parents, which are often unhelpfully long)
  104. • Type <Return> with a file name selected in the project window to open the file (yawn)
  105. • Bug fix for the browser, "virtual public" parents and the like are no longer ignored
  106. •••••••
  107.  
  108. •••••••New for 3.2.4
  109. • Cooperation with Code Warrior has been modified: it you attempt to open a file with EnterAct that Code Warrior has open, EnterAct will present you with the options of forcing Code Warrior to save and close the file, or of cancelling the Open. If you're not sure, cancel and return to Code Warrior to see if the file should be saved. You cannot open the file with EnterAct unless you "OK" the dialog or go back to Code Warrior and close the file.
  110. • By default, marks are no longer saved with source and header files: instead, they're generated on the fly when opening and saving. This cuts down on file sizes, and saved marks are only useful with the "Index Marker Names" command, which you'll probably never use anyway.
  111. ••••••••
  112.  
  113. •••••••New for 3.2.3
  114. • advance to a file name in one of the project panes by typing either the first part of the name or any dictinctive part of the name (that's the EnterAct way)
  115. • Add All in Folder and Add All in Subfolders -- now you can select and add folders rather than having to select a file within the folder (yay)
  116. ••••••••
  117.  
  118. •••••••New for 3.2.
  119. • Fixed bug (crash when opening any file) that affected certain machines only
  120. • Parser relaxed a bit to handle some abominations such as
  121. "#define X struct Y"
  122. • Parser support for "template" and "operator" (these were a real pain)
  123. • AutoLook has a higher hit rate for displaying underlying struct/class definitions for a variable
  124. • Limited syntax coloring (one-line comments, strings, ticks) with new commands to set the colors under the Edit menu. Is that enough color? If not, let me know. Your vote counts.
  125. • Graphic nesting: while viewing a function in a source file, hold down the <Option> AND <Command> keys and the nesting depth of your curly braces {} will be shown on the left side of the window with vertical lines; when you release the keys, the lines go away. Scrolling while holding the keys down is OK, but you should release the keys before editing (not that you can do much editing with those keys held down...) or the lines will get messed up (the fix: let go of the darned keys!).
  126. ••••••••
  127.  
  128.